Use case: SPI transmit in DMA mode ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
#define DATA_TO_SEND 256
#define DATA_TO_RECEIVE DATA_TO_SEND
SPI_HandleTypeDef hspi1;
uint8_t aTxBuffer[] = "*** SPI communication based on DMA mode ***"
HAL_SPI_RegisterCallback(&hspi1, HAL_SPI_TX_COMPLETE_CB_ID, USER_SPI_TxCpltCallback);
HAL_SPI_Transmit_DMA(&hspi1, aTxBuffer, DATA_TO_SEND);
|
#define DATA_TO_SEND 256
#define DATA_TO_RECEIVE DATA_TO_SEND
hal_spi_handle_t hspi1;
uint8_t aTxBuffer[] = "*** SPI communication based on DMA mode ***"
HAL_SPI_RegisterTxCpltCallback(&hspi1, USER_SPI_TxCpltCallback);
HAL_SPI_Transmit_DMA(&hspi1, aTxBuffer, DATA_TO_SEND);
|
Key changes ¶
TX complete callback registration changes from
HAL_SPI_RegisterCallback(..., HAL_SPI_TX_COMPLETE_CB_ID, ...)toHAL_SPI_RegisterTxCpltCallback().HAL2 uses
hal_spi_handle_tinstead ofSPI_HandleTypeDef.

